package cn.kgc.lambda;

/**
 * @author: mosin
 * @version: v1.0  2022/10/20
 * lambda表达式 实现方法的引用  ::
 *
 *
 *实现方法引用的规则：
 *  1.保证引用方法的返回值类型要和接口中的类型保持一致
 *  2.保证引用方法的参数和接口中的参数保持一致
 * 创建对象
 */
public class LambdaDemo03 {


    public static void main(String[] args) {

        //LambdaInterface7 lambdaInterface7 = ()->{
        //    return  new User();
        //};

        // 方法的引用实现对象的创建 调用无参构造
        //LambdaInterface7 lambdaInterface7 = User::new;
        //User user = lambdaInterface7.method();
        //System.out.println("user = " + user);

        // 方法的引用实现对象的创建  创建同时完成对象的初始化  调用有参构造
        LambdaInterface7 lambdaInterface7 = User::new;
        User user = lambdaInterface7.method("tom", 20);
        System.out.println("user = " + user);

    }
}
